home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / prog_gen / freecomp.zip / COMPILER.4 < prev    next >
Text File  |  1994-05-07  |  55KB  |  1,374 lines

  1. Archive-name: free-compilers/part4
  2. Last-modified: 1994/4/29
  3. Version: 6.5
  4.  
  5.  
  6.  
  7. concurrent, parallel, and simulation languages
  8. -------------------------------------------------------------------------------
  9. category: concurrent, parellel, and simulation languages
  10. description: This is a fairly broad category of languages.  Most of the
  11.   implementations in this set are not good enough to be used in
  12.   production systems.  Some are. In addition to those listed
  13.   below, see:
  14. lref:  Concurrent Clean
  15. lref:  Concurrent ML
  16. lref:  EuLisp
  17. lref:  Parallaxis
  18. lref:  Maisie
  19. lref:  micro-C++
  20. lref:  MeldC
  21. lref:  pm2
  22.  
  23. language: ABCL/1 (An object-Based Concurrent Language)
  24. package: ABCL/1 
  25. version: ?
  26. parts:  ?
  27. author:  Akinori Yonezawa, ABCL Group now at Department of Information 
  28.   Science, the University of Tokyo
  29. how to get: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
  30. description: Asynchronous message passing to objects.  
  31. reference: "ABCL: An Object-Oriented Concurrent System", Edited by 
  32.   Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
  33. restriction: no commercial use, must return license agreement
  34. requires: Common Lisp
  35. contact: abcl@is.s.u-tokyo.ac.jp
  36. updated: 1990/05/23
  37.  
  38. language: ABCL ???
  39. package: ABCL/R2
  40. version: ?
  41. parts:  ?
  42. author:  masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
  43.   takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
  44. how to get: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
  45. description: ABCL/R2 is an object-oriented concurrent reflective language
  46.   based on Hybrid Group Architecture.  As a reflective language,
  47.   an ABCL/R2 program can dynamically control its own behavior,
  48.   such as scheduling policy, from within user-program.  An an
  49.   object-oriented concurrent language, this system has almost all
  50.   functions of ABCL/1.
  51. requires: Common Lisp
  52. updated: 1993/01/28
  53.  
  54. language: ALLOY
  55. package: ALLOY
  56. version: 2.0?
  57. parts:  interpreter, documentation, examples
  58. author:  Thanasis Mitsolides <mitsolid@cs.nyu.edu>
  59. how to get: ftp pub/local/alloy/* from cs.nyu.edu
  60. description: ALLOY is a higher level parallel programming language
  61.   appropriate for programming massively parallel computing
  62.   systems.  It is based on a combination of ideas from
  63.   functional, object oriented and logic programming languages.
  64.   The result is a language that can directly support
  65.   functional, object oriented and logic programming styles
  66.   in a unified and controlled framework. Evaluating modes
  67.   support serial or parallel execution, eager or lazy
  68.   evaluation, non-determinism or multiple solutions etc.
  69.   ALLOY is simple as it only requires 29 primitives in all
  70.   (half of which for Object Oriented Programming support).
  71. ports:  sparc, ?
  72. updated: 1991/06/11
  73.  
  74. language: Cellang (Cellular Automata)
  75. package: Cellular
  76. version: 2.0
  77. parts:  byte-code compiler, runtime, viewer
  78. author:  J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
  79. how to get: comp.sources.unix, volume 26
  80. description: A system for cellular automata programming.
  81. updated: 1993/04/03
  82.  
  83. language: Hermes
  84. package: IBM Watson prototype Hermes system
  85. version: 0.8alpha patchlevel 01
  86. parts:  bytecode compiler, compiler(bytecode->C), runtime
  87. author:  Andy Lowry <lowry@watson.ibm.com>
  88. how to get: ftp pub/hermes/README from software.watson.ibm.com
  89. description: Hermes is a very-high-level integrated language and
  90.   system for implementation of large systems and
  91.   distributed applications, as well as for
  92.   general-purpose programming.  It is an imperative,
  93.   strongly typed, process-oriented language.  Hermes
  94.   hides distribution and heterogeneity from the
  95.   programmer.  The programmer sees a single abstract
  96.   machine containing processes that communicate using
  97.   calls or sends.  The compiler, not the programmer,
  98.   deals with the complexity of data structure layout,
  99.   local and remote communication, and interaction with
  100.   the operating system.  As a result, Hermes programs are
  101.   portable and easy to write.  Because the programming
  102.   paradigm is simple and high level, there are many
  103.   opportunities for optimization which are not present in
  104.   languages which give the programmer more direct control
  105.   over the machine.
  106. reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
  107.   Language for Distributed Computing. Prentice-Hall, Englewood
  108.   Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
  109. ports:  RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
  110. discussion: comp.lang.hermes
  111. updated: 1992/03/22
  112.  
  113. language: PCN
  114. package: PCN
  115. version: 2.0
  116. parts:  compiler?, runtime, linker, libraries, tools, debugger, 
  117.   profiler, tracer
  118. author:  Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
  119.   <tuecke@mcs.anl.gov>, and others
  120. how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
  121. description: PCN is a parallel programming system designed to improve
  122.   the productivity of scientists and engineers using parallel
  123.   computers.  It provides a simple language for specifying
  124.   concurrent algorithms, interfaces to Fortran and C, a
  125.   portable toolkit that allows applications to be developed
  126.   on a workstation or small parallel computer and run
  127.   unchanged on supercomputers, and integrated debugging and
  128.   performance analysis tools.  PCN was developed at Argonne
  129.   National Laboratory and the California Institute of
  130.   Technology.  It has been used to develop a wide variety of
  131.   applications, in areas such as climate modeling, fluid
  132.   dynamics, computational biology, chemistry, and circuit
  133.   simulation.
  134. ports:  (workstation nets): Sun4, NeXT, RS/6000, SGI
  135.   (multicomputers): iPSC/860, Touchstone DELTA
  136.   (shared memory multiprocessors): Symmetry/Dynix
  137. contact: <pcn@mcs.anl.gov>
  138. updated: 1993/02/12
  139.  
  140. language: LOOPN
  141. package: LOOPN
  142. version: ?
  143. parts:  compiler?, simulator
  144. author:  ?
  145. how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
  146. description: I wish to announce the availability of a compiler, simulator
  147.   and associated source control for an object-oriented petri net
  148.   language called LOOPN. In LOOPN, a petri net is an extension
  149.   of coloured timed petri nets.  The extension means firstly that
  150.   token types are classes.  In other words, they consist of both
  151.   data fields and functions, they can be declared by inheriting
  152.   from other token types, and they can be used polymorphically.
  153.   The object-oriented extensions also mean that module or subnet
  154.   types are classes.  LOOPN has been developed over a period of
  155.   about 5 years at the University of Tasmania, where it has been
  156.   used in teaching computer simulation and the modelling of
  157.   network protocols.  A petri net is a directed, bipartite graph;
  158.   nodes are either places (represented by circles) or transitions
  159.   (represented by rectangles).  A net is marked by placing tokens
  160.   on places.  When all the places pointing to a transition (the
  161.   input places) have a token, the net may be fired by removing a
  162.   token from each input place and adding a token to each place
  163.   pointed to by the transition (the output places).  Petri nets
  164.   are used to model concurrent systems, particularly in the
  165.   network protocol area.
  166. contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
  167. updated: 1992/12/20
  168.  
  169. language: Simula
  170. package: Lund Simula
  171. version: 4.07
  172. parts:  ?
  173. author:  ?
  174. how to get: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
  175. description: ?
  176. contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
  177. updated: 1992/05/22
  178.  
  179. language: SR (Synchronizing Resources)
  180. package: sr
  181. version: 2.0 
  182. parts:  ?, documentation, tests
  183. author:  ?
  184. how to get: ftp sr/sr.tar.Z from cs.arizona.edu
  185. description: SR is a language for writing concurrent programs.
  186.   The main language constructs are resources and
  187.   operations.  Resources encapsulate processes and
  188.   variables they share; operations provide the primary
  189.   mechanism for process interaction.  SR provides a novel
  190.   integration of the mechanisms for invoking and
  191.   servicing operations.  Consequently, all of local and
  192.   remote procedure call, rendezvous, message passing,
  193.   dynamic process creation, multicast, and semaphores are
  194.   supported.
  195. reference: "The SR Programming Language: Concurrency in Practice", 
  196.   by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
  197.   Publishing Company, 1993, ISBN 0-8053-0088-0
  198. ports:  Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
  199.   NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
  200.   Apollo, and others.
  201. discussion: info-sr-request@cs.arizona.edu
  202. contact: sr-project@cs.arizona.edu
  203. updated: 1992/09/01
  204.  
  205. language: UNITY
  206. package: MasPar Unity
  207. version: 1.0
  208. parts:  translator(UNITY->MPL), documentation
  209. author:  Martin Huber, University of Karlsruhe, Germany
  210. how to get: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
  211. description: ?
  212. contact: Lutz Prechelt <prechelt@ira.uka.de>
  213. updated: ?
  214.  
  215. language: UNITY
  216. package: HOL-UNITY
  217. version: 2.1
  218. parts:  verification tool
  219. author:  ?
  220. how to get: ?
  221. description: ?
  222. contact: Flemming Andersen <fa@tfl.dk> ?
  223. updated: ?
  224.  
  225. Forth family languages
  226. -------------------------------------------------------------------------------
  227. category: Forth family languages
  228. description: These are the stack-based postfix languages.  
  229. lref:  Postscript
  230. iref:  (mc6809) 6809, E-Forth
  231.  
  232. language: Forth
  233. package: TILE Forth
  234. version: 2.1
  235. parts:  interpreter
  236. author:  Mikael Patel <mip@sectra.se>
  237. how to get: ftp tile-forth-2.1.tar.Z from a GNU archive site
  238. description: Forth interpreter in C; many Forth libraries
  239. conformance: Forth83
  240. restriction: shareware/GPL
  241. ports:  unix
  242. updated: 1991/11/13
  243.  
  244. language: Forth
  245. package: cforth
  246. version: ?
  247. parts:  interpreter
  248. author:  ?
  249. how to get: comp.sources.unix archive volume 1
  250. description: ?
  251. updated: ?
  252.  
  253. language: Forth
  254. package: pfe (Portable Forth Environment)
  255. version: 0.8.0
  256. parts:  ?
  257. author:  Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
  258. how to get: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
  259. description: A Forth development system that tries to be correct,
  260.   complete, portable, usable and simple. It doesn't try too
  261.   hard to be fast.
  262. conformance: all dpANS word sets
  263. ports:  Linux, RS/6000, HP-UX
  264. portability: high
  265. updated: 1993/08/11
  266.  
  267. language: Forth
  268. package: F68K
  269. version: ?
  270. parts:  ?
  271. author:  ?
  272. how to get: ftp atari/Languages/f68k.* from archive.umich.edu
  273. description: a portable Forth system for Motorola 68k computers
  274. ports:  Atari ST/TT, Amiga, Sinclair QL and OS9
  275. portability: very high for 68000 based systems
  276. contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
  277. updated: 1992/12/14
  278.  
  279. language: Forth
  280. package: 51forth
  281. version: ?
  282. parts:  ?
  283. author:  Scott Gehmlich
  284. how to get: ftp giovanni/51forth.zip from [130.123.96.9]
  285. description: source and documentation for a 8051 subroutine-
  286.   threaded forth
  287. contact: ?
  288. updated: 1993/04/03
  289.  
  290. language: Mops
  291. package: Mops
  292. version: 2.3.1
  293. parts:  compiler, documentation, editor
  294. author:  Michael Hore <mikeh@kralizec.zeta.org.au>
  295. how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
  296. description: Like Yerk, Mops is descended from the ex-commercial
  297.   object-oriented language Neon. Mops features an
  298.   optimizing native-code compiler; it is much faster
  299.   than Yerk, but less compatible with Neon. Mops
  300.   includes extensions such as multiple inheritance.
  301. ports:  Macintosh
  302. language: Kevo (Forth-like)
  303. package: kevo
  304. version: 0.9b6
  305. parts:  interpreter, demo programs, user's guide, papers
  306. author:  Antero Taivalsaari <tsaari@cs.uta.fi>
  307. how to get: ftp /pub/kevo/* from cs.uta.fi
  308. description: Kevo is a prototype-based object-oriented language for
  309.   Macintosh Kevo features a unique prototype-based object model
  310.   (which is based neither on classes nor Self-style delegation),
  311.   multitasking (both preemptive and cooperative), dynamic memory
  312.   management, and an icon-based object browser and editor modeled
  313.   loosely after Mac Finder. Kevo has been built around a portable
  314.   threaded code interpreter, and is syntactically a close
  315.   derivative of Forth.
  316. ports:  Macintosh
  317. contact: kevo-interest@ursamajor.uvic.ca
  318. updated: 1993/05/18
  319.  
  320. language: Yerk
  321. package: Yerk
  322. version: 3.62
  323. parts:  ?
  324. author:  ?
  325. how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
  326. description: Yerk is an object oriented language based on a
  327.   Forth Kernel with some major modifications.  It
  328.   was originally known as Neon, developed and sold
  329.   as a product by Kriya Systems from 1985 to 1989.
  330.   Several of us at The University of Chicago have
  331.   maintained Yerk since its demise as a product.
  332.   Because of the possible trademark conflict that
  333.   Kriya mentions, we picked the name Yerk, which is
  334.   at least not an acronym for anything, but rather
  335.   stands for Yerkes Observatory, part of the Department
  336.   of Astronomy and Astrophysics at U of C.
  337. updated: ?
  338.  
  339.  
  340. compiler generators and related tools
  341. -------------------------------------------------------------------------------
  342. category: compiler generators and related tools
  343. description: Yacc, and the rest of its family
  344.  
  345. language: ABC
  346. package: Grammar analysis tools
  347. version: 1
  348. parts:  analysis tools, samples, documentation
  349. author:  Steven Pemberton <Steven.Pemberton@cwi.nl>
  350. how to get: ftp programming/languages/abc/examples/grammar/*
  351.   from ftp.eu.net or ftp.nluug.net
  352. description: Grammar analysis program written in ABC (q.v.) for
  353.   answering such questions as "what are the start
  354.   symbols of all rules", "what symbols can follow this
  355.   symbol", "which rules are left recursive", and so on.
  356.   Includes a grammar of ISO Pascal.
  357. reference: Ftp archive includes an article explaining the package.
  358. ports:  unix, MSDOS, atari, mac 
  359. contact: Steven.Pemberton@cwi.nl
  360. updated: 1993/07/05
  361.  
  362. language: ? attribute grammar ?
  363. package: Alpha
  364. version: pre-release
  365. parts:  semantic-analysis generator?, documentation(german)
  366. author:  Andreas Koschinsky <koschins@cs.tu-berlin.de>
  367. how to get: from author
  368. description: I have written a compiler generator. The generator is called
  369.   Alpha and uses attribute grammars as specification calculus.
  370.   Alpha is the result of a thesis at Technische Universitaet
  371.   Berlin. I am looking for someone who would like to test and use
  372.   Alpha. Alpha generates compilers from a compiler
  373.   specification. This specification describes a compiler in
  374.   terminology of attribute grammars. Parser and Scanner are
  375.   generated by means of Bison and Flex.  Alpha generates an
  376.   ASE-evaluator (Jazayeri and Walter).  The documentation is in
  377.   german since it is a thesis at a german university.
  378. updated: 1993/02/16
  379.  
  380. language: attribute-grammar extension of Yacc and Lex
  381. package: Ox
  382. version: G1.01
  383. parts:  Yacc/Lex/C preprocessor, tutorial, reference manual,
  384.   man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
  385.   Fortran)
  386. author:  Kurt Bischoff <bischoff@cs.iastate.edu>
  387. how to get: ftp pub/ox/* from ftp.cs.iastate.edu
  388. description: Ox generalizes the function of Yacc in the way that attribute
  389.   grammars generalize context-free grammars.  Ordinary Yacc and
  390.   Lex specifications may be augmented with definitions of
  391.   synthesized and inherited attributes written in C syntax.  Ox
  392.   checks these specifications for consistency and completeness,
  393.   and generates from them a program that builds and decorates
  394.   attributed parse trees.  Ox accepts a most general class of
  395.   attribute grammars.  The user may specify postdecoration
  396.   traversals for easy ordering of side effects such as code
  397.   generation.  Ox handles the tedious and error-prone details of
  398.   writing code for parse-tree management, so its use eases
  399.   problems of security and maintainability associated with that
  400.   aspect of translator development.  Ox is a preprocessor,
  401.   and extends the syntax and semantics of Yacc, Lex, and C.
  402. reference: Most compiler textbooks have descriptions of attribute
  403.   grammars.
  404. features: LALR(1), semantic-analyzer generation.
  405. bugs:  none known.  Report bugs to ox-project@cs.iastate.edu.
  406. restriction: Use of Ox is free.  Ox-generated code is the property of
  407.   the Ox user.
  408. ports:  Unix
  409. contact: ox-request@cs.iastate.edu
  410. updated: 1993/11/14
  411.  
  412. language: BNF (Extended)
  413. package: Gray
  414. version: 3
  415. parts:  parser generator(Forth)
  416. author:  Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
  417. how to get: author; version 2 is on various ftp sites
  418. description: Gray is a parser generator written in Forth.  It takes 
  419.   grammars in an extended BNF and produces executable Forth 
  420.   code for recursive descent parsers.  There is no special 
  421.   support for error handling.
  422. requires: Forth
  423. ports:  TILE Release 2 by Mikael Patel
  424. updated: 1992/05/22
  425.  
  426. language: BNF ??
  427. package: ZUSE
  428. version: ?
  429. parts:  parser generator(?)
  430. author:  Arthur Pyster
  431. how to get: ? Univ Calif at Santa Barbara ?
  432. description: ll(1) paser generator
  433. requires: Pascal
  434. updated: 1986/09/23
  435.  
  436. language: BNF ??
  437. package: FMQ
  438. version: ?
  439. parts:  paser generator w/error corrector generator
  440. author:  Jon Mauney
  441. how to get: ftp from csczar.ncsu.edu
  442. description: ?
  443. status:  ?
  444. contact: ?
  445. updated: 1990/03/31
  446.  
  447. language: BNF ??
  448. package: ATS (Attribute Translation System)
  449. version: ?
  450. parts:  ?
  451. author:  ? University of Saskatchewan ?
  452. how to get: ?
  453. description: generates table-driven LL(1) parsers with full insert-only
  454.   error recovery.  It also handles full left-attribute semantic
  455.   handling, which is a dream compared to using YACC's parser
  456.   actions.
  457. status:  ?
  458. contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
  459. updated: 1988/11/29
  460.  
  461. language: BNF (Extended)
  462. package: PCCTS (Purdue Compiler-Construction Tool Set)
  463. version: 1.20
  464. parts:  scanner generator, parser generator (pred-LL(k)), 
  465.                 documentation, tutorial
  466. author:  Terence J. Parr <parrt@acm.org>, Will E. Cohen
  467.   <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>,
  468.   Russel W. Quong <quong@ecn.purdue.edu>
  469. how to get: ftp pub/pccts/1.20/pccts.tar.Z from marvin.ecn.purdue.edu
  470.     UK:  ftp computing/programming/languages/tools/pccts/* 
  471.   from src.doc.ic.ac.uk
  472.     Macintosh: ftp pub/mac/* from maya.dei.unipd.it 
  473. description: PCCTS is similar to a highly integrated version of YACC
  474.   and LEX; where ANTLR (ANother Tool for Language
  475.   Recognition) corresponds to YACC and DLG (DFA-based
  476.   Lexical analyzer Generator) functions like LEX.
  477.   However, PCCTS has many additional features which make
  478.   it easier to use for a wide range of translation
  479.   problems.  PCCTS grammars contain specifications for
  480.   lexical and syntactic analysis with selective backtracking
  481.   ("infinite lookahead"), semantic predicates, intermediate-form
  482.   construction and error reporting. Rules may employ Extended
  483.   BNF (EBNF) grammar constructs and may define parameters,
  484.   return values and local variables.  Languages described in
  485.   PCCTS are recognized via LL(k) parsers constructed in pure,
  486.   human-readable, C code.  Selective backtracking is available
  487.   to handle non-LL(k) constructs.  PCCTS parsers may be compiled 
  488.   with C++. Version 1.20 now generates C++ code as well as K&R
  489.   and ANSI C variants.
  490. ports:  Unix, DOS, OS/2, Macintosh
  491. portability: very high
  492. discussion: send mail with a body of "subscribe pccts-users your_name" 
  493.   to pccts-users-request@ahpcrc.umn.edu
  494. contact: Terence J. Parr <parrt@acm.org>
  495.   Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
  496. updated: 1994/04/29
  497.  
  498. language: BNF (very extended), yacc
  499. package: PRE-CC Xtended
  500. version: 2.30
  501. parts:  library, parser generator (LL(oo)), translator(yacc->)
  502. author:  Peter Breuer
  503. how to get: ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
  504.   (later versions available by subscription)
  505. description: PRECCX is an infinite-lookahead compiler compiler for context
  506.   dependent grammars.  The generated code is ANSI C.
  507.   Specification scripts are in very EBNF with inherited and
  508.   synthetic attributes allowed. Scripts can be compiled in
  509.   separate modules, and linked together later.  Meta-production
  510.   rules allowed. The technology is essentially LL(oo) with
  511.   optimizations. A converter for yacc scripts is available.
  512. reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
  513.   In E. Davies and A. Findlay (eds.),
  514.   Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
  515.   St. Cross Centre, Oxford, UK, 6-8 January 1993,
  516.   ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
  517.   UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
  518.   Herts SG9 9PL, UK, pp 167-182, 1993.
  519. ports:  unix, MS-DOS
  520. contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
  521.   Jonathan Bowen <bowen@comlab.ox.ac.uk>
  522. updated: 1992/08/25 
  523.  
  524. language: BNF ??
  525. package: LLGen
  526. version: ?
  527. parts:  parser generator
  528. author:  ? Fischer and LeBlanc ?
  529. how to get: ? ftp from csczar.ncsu.edu ?
  530. description: LL(1) parser generator
  531. conformance: subset of FMQ
  532. reference: "Crafting A Compiler", by Fischer and LeBlanc
  533. status:  ?
  534. contact: ?
  535. updated: 1990/03/31
  536.  
  537. language: BNF ??
  538. package: wacco
  539. version: ?
  540. parts:  parser generator
  541. author:  ?
  542. how to get: comp.sources.misc volume ?
  543. description: LL(?) parser generator
  544. contact: ?
  545. updated: ?
  546.  
  547. language: BNF (Extended), BNF (yacc), Modula-2
  548. package: GMD Toolbox for Compiler Construction (aka Cocktail)
  549. version: 9209
  550. parts:  parser generator (LALR -> C, Modula-2), documentation,
  551.   parser generator (LL(1) -> C, Modula-2), tests,
  552.   scanner generator (-> C, Modula-2), tests
  553.   translator (Extended BNF -> BNF), translator (Modula-2 -> C),
  554.   translator (BNF (yacc) -> Extended BNF), examples
  555.   abstract syntax tree generator, attribute-evaluator generator,
  556.   code generator
  557. author:  ?
  558. how to get: ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
  559.     OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
  560. description: A huge set of compiler building tools. 
  561. requires: (ms-dos only) DJ Delorie's DOS extender (go32)
  562.  (OS/2 only) emx programming environment for OS/2
  563. ports:  msdos, unix, os/2
  564. discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
  565. contact: Josef Grosch <grosch@karlsruhe.gmd.de>
  566.     OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
  567. updated: 1992/10/01
  568.  
  569. language: BNF ????
  570. package: T-gen
  571. version: 2.1
  572. parts:  parser generator, documentation, ?
  573. author:  Justin Graver <graver@comm.mot.com>
  574. how to get: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
  575. description: T-gen is a general-purpose object-oriented tool for the 
  576.   automatic generation of string-to-object translators. 
  577.   It is written in Smalltalk and lives in the Smalltalk 
  578.   programming environment.  T-gen supports the generation 
  579.   of both top-down (LL) and bottom-up (LR) parsers, which 
  580.   will automatically generate derivation trees, abstract 
  581.   syntax trees, or arbitrary Smalltalk objects.  The simple 
  582.   specification syntax and graphical user interface are 
  583.   intended to enhance the learning, comprehension, and 
  584.   usefulness of T-gen.
  585. requires: Smalltalk-80
  586. ports:  ParcPlace Objectworks/Smalltalk 4.0 & 4.1
  587. updated: 1992/10/18
  588.  
  589. language: BNF 
  590. package: Eli Compiler Construction System
  591. version: 3.5
  592. parts:  ?, documentation
  593. author:  ?
  594. how to get: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
  595.     Europe: ftp unix/eli from ftp.uni-paderborn.de
  596. description: Eli integrates off-the-shelf tools and libraries with
  597.   specialized language processors to generate complete compilers
  598.   quickly and reliably.  It simplifies the development of new
  599.   special-purpose languages, implementation of existing languages
  600.   on new hardware and extension of the constructs and features of
  601.   existing languages.
  602. ports:  Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
  603. discussion: <eli-request@cs.colorado.edu>
  604. contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
  605. updated: 1993/11/01
  606.  
  607. language: BNF (yacc)
  608. package: NewYacc
  609. version: 1.0
  610. parts:  parser generator, documenation
  611. author:  Jack Callahan <callahan@mimsy.cs.umd.edu> 
  612. how to get: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
  613. description: [someone want to fill it in? --ed]
  614. reference: see Dec 89 CACM for a brief overview of NewYacc.
  615. updated: 1992/02/10
  616.  
  617. language: BNF (yacc)
  618. package: bison
  619. version: 1.22
  620. parts:  parser generator, documentation
  621. author:  Robert Corbett ?
  622. how to get: ftp bison-1.16.tar.Z from a GNU archive site
  623. description: ?
  624. bugs:  bug-gnu-utils@prep.ai.mit.edu
  625. restriction: !! will apply the GNU General Public License to *your* code !!
  626. ports:  unix, atari, ?
  627. updated: 1993/09/14
  628.  
  629. language: BNF (yacc), Lex
  630. package: Bison++, Flex++
  631. version: ?
  632. parts:  parser generator, scanner generator, documentation, samples
  633. author:  ? Alain Coetmeur <coetmeur@icdc.fr>
  634. how to get: ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
  635. description: GNU's Yacc and Lex, retargeted to C++
  636. updated: 1993/07/08
  637.  
  638. language: BNF (yacc)
  639. package: ? jaccl ?
  640. version: ?
  641. parts:  parser generator
  642. author:  Dave Jones <djones@megatest.uucp>
  643. how to get: ?
  644. description: a LR(1) parser generator
  645. updated: 1989/09/08
  646.  
  647. language: BNF (yacc)
  648. package: byacc (Berkeley Yacc)
  649. version: 1.9
  650. parts:  parser generator
  651. author:  Robert Corbett <Robert.Corbett@eng.sun.com>
  652. how to get: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
  653. description: probably the best yacc variant around. Previously known as
  654.   Zoo, and before that, as Zeus.
  655. updated: 1993/02/22
  656.  
  657. language: BNF (yacc), Lex
  658. package: Lex/Yacc for Turbo Pascal uploaded
  659. version: ?
  660. parts:  parser generator, scanner generator, documentation?
  661. author:  ?
  662. how to get: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
  663. description: Lex and Yacc retargeted to Pascal.
  664. contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
  665. updated: 1993/07/02
  666.  
  667. language: BNF (yacc), Ada
  668. package: aflex-ayacc
  669. version: 1.2a
  670. parts:  parser generator (Ada), scanner generator (Ada)
  671. author:  IRUS (Irvine Research Unit in Software)
  672. how to get: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
  673. description: Lex and Yacc equivalents that produce Ada output
  674. announcements: irus-software-request@ics.uci.edu
  675. contact: irus-software-request@ics.uci.edu
  676. updated: 1993/01/06
  677.  
  678. language: BNF (variant), Icon
  679. package: Ibpag2 (Icon-Based Parser Generation System 2)
  680. version: 1.0 (beta)
  681. parts:  parser generator (Icon, SLR(1))
  682. author:  Richard L. Goerwitz <goer@midway.uchicago.edu>
  683. how to get: comp.sources.misc archive
  684. description: Ibpag2 is a parser generator for Icon. It does most
  685.   of what you would expect.  Latest version can handle both
  686.   SLR(1) and even GLR (Tomita) grammars.
  687. ports:  unix
  688. portability: ? (Unix dependencies?)
  689. updated: 1993/07/13
  690.  
  691. language: BNF ?, Gofer
  692. package: Ratatosk ?
  693. version: ?
  694. parts:  parser generatr (Gofer)
  695. author:  Torben AEgidius Mogensen <torbenm@diku.dk>
  696. how to get: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
  697. description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
  698.   that generates purely functional parsers (also in Gofer). Even
  699.   though the sematic value of a production is a function of the
  700.   attributes of its right-hand side (and thus apparently purely
  701.   synthesized), inherited attributes are easily simulated by
  702.   using higher order functions.
  703. ports:  ?
  704. updated: ?
  705.  
  706. language: BNF
  707. package: lalr.ss - An LALR(1) parser generator
  708. version: 0.9 
  709. parts:  parser generator (->Scheme)
  710. author:  Mark Johnson <mj@cs.brown.edu>
  711. how to get: ftp new/lalr.shar from the Scheme Repository
  712. description: A LALR(1) parser generator in and for Scheme.
  713. requires: Scheme
  714. updated: 1993/05/24
  715.  
  716. language: BURS ?
  717. package: Iburg
  718. version: ?
  719. parts:  parser generator?
  720. author:  Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
  721.   <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
  722. how to get: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
  723. description: Iburg is a program that generates a fast tree parser.  It is
  724.   compatible with Burg. Both programs accept a cost-augmented
  725.   tree grammar and emit a C program that discovers an optimal
  726.   parse of trees in the language described by the grammar. They
  727.   have been used to construct fast optimal instruction selectors
  728.   for use in code generation.  Burg uses BURS; Iburg's matchers
  729.   do dynamic programming at compile time.
  730. updated: 1993/02/10
  731.  
  732. language: Candle, IDL (Interface Description Language)
  733. package: Scorpion System
  734. version: 6.0
  735. parts:  software development environment for developing
  736.   software development environments, documentation
  737. author:  University of Arizona
  738. how to get: ftp scorpion/* from cs.arizona.edu
  739. description: 20 tools that can be used to construct specialized
  740.   programming environments.
  741.   The Scorpion Project was started by Prof. Richard
  742.   Snodgrass as an outgrowth of the SoftLab Project (which pro-
  743.   duced the IDL Toolkit) that he started when he was at the
  744.   University of North Carolina.  The Scorpion Project is
  745.   directed by him at the University of Arizona and by Karen
  746.   Shannon at the University of North Carolina at Chapel Hill.
  747. reference: "The Interface Description Language: Definition and Use," 
  748.   by Richard Snodgrass, Computer Science Press, 1989,
  749.   ISBN 0-7167-8198-0
  750. ports:  Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
  751. discussion: info-scorpion-request@cs.arizona.edu
  752. contact: scorpion-project@cs.arizona.edu
  753. updated: 1993/11/04
  754.  
  755. language: COCOL (EBNF variant)
  756. package: COCO/R
  757. version: 1.34
  758. parts:  parser generator(LL(1))
  759. author:  Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  760.   Port to Modula-2 done by Marc Brandis, Christof Brass 
  761.   and Pat Terry <cspt@alpha.ru.ac.za>
  762. how to get: ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
  763.     Modula-2: ftp pub/coco from alpha.ru.ac.za 
  764. description: Coco/R generates recursive descent parsers and their associated
  765.   scanners from attributed grammars.  Coco/R can bootstrap itself
  766.   to generate its own driver, parser, scanner, and semantic
  767.   evaluator from the attributed grammar CR.ATG.  This grammar
  768.   thus serves as an an example of how to write compiler
  769.   descriptions for Coco. There are also other simpler examples
  770.   showing its use.
  771. references: _A compiler generator for microcomputers_, by Rechenberg 
  772.   and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
  773. bugs:  MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
  774.   Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  775. requires: Oberon or Modula-2
  776. ports:  MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
  777.   QuickMod 2.2; Logitech 3.03.  Macintosh: Apple MacMeth
  778. status:  Oberon version is freely available?, Modula-2 version is
  779.   free to academic sites; commercial use requires a license
  780. updated: 1994/01/13
  781.  
  782. language: EAG (Extended Affix Grammar)
  783. package: EAG
  784. version: first public release
  785. parts:  recognizer generator, transduccer generator, 
  786.   translator generator, editor generator, documentation
  787. author:  Marc Seutter <marcs@cs.kun.nl>
  788. how to get: ftp pub/eag/* from hades.cs.kun.nl
  789. description: The Extended Affix Grammar formalism, or shortly EAG, is a
  790.   formalism for describing both the context free and the context
  791.   sensitive syntax of languages. EAG is a member of the family
  792.   of two-level grammars. They are very closely related to
  793.   two-level van Wijngaarden grammars.  The EAG compiler will
  794.   generate either a recognizer or a transducer or a translator or
  795.   a syntax directed editor for a language described in the EAG
  796.   formalism.  [What's a tranducer? --ed]
  797. updated: 1993/09/14
  798.  
  799. language: lex
  800. package: flex
  801. version: 2.3.8
  802. parts:  scanner generator
  803. author:  Vern Paxson <vern@ee.lbl.gov>
  804. how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
  805. description: ?
  806. updated: ?
  807.  
  808. language: Milarepa 
  809. package: Milarepa Perl/BNF Parser 
  810. version: Prototype 1.0
  811. parts:  parser-generator, examples, tutorial
  812. author:  Jeffrey Kegler <jeffrey@netcom.com>
  813. how to get: via anonymous ftp at
  814.   alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z
  815. description: Milarepa takes a source grammar in the Milarepa language (a
  816.   straightforward mix of BNF and Perl) and generates a Perl file,
  817.   which, when enclosed in a simple wrapper, parses some third
  818.   language described by the source grammar.
  819.   This is intended to be a real hacker's parser. It is not
  820.   restricted to LR(k), and the parse logic follows directly from
  821.   the BNF.  It handles ambiguous grammars, ambiguous tokens
  822.   (tokens which were not positively identified by the lexer) and
  823.   allows the programmer to change the start symbol.  The grammar
  824.   may not be left recursive.  The input must be divided into
  825.   sentences of a finite maximum length.  There is no fixed
  826.   distinction between terminals and non-terminals, that is, a
  827.   symbol can both match the input AND be on the left hand side of
  828.   a production.  Multiple Marpa grammars are allowed in a single
  829.   perl program.
  830.   It's only a prototype primarily due to poor speed.  This is
  831.   intended to be remedied after Perl 5.0 is out.
  832. requires: perl
  833. updated: 1994/04/27
  834.  
  835. language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
  836. package: Tim Budd's C++ implementation of Kamin's interpreters
  837. version: ?
  838. parts:  interpretors, documentation
  839. author:  Tim Budd <budd@cs.orst.edu>
  840. how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
  841. description: a set of interpretors written as subclasses based on
  842.   "Programming Languages, An Interpreter-Based Approach",
  843.   by Samuel Kamin.
  844. requires: C++
  845. status:  ? 
  846. contact: Tim Budd <budd@fog.cs.orst.edu>
  847. updated: 1991/09/12
  848.  
  849. language: perl, yacc
  850. iref:  (Perl) perl-byacc
  851.  
  852. language: Relation Grammar
  853. package: rl
  854. version: ?
  855. parts:  ?
  856. author:  Kent Wittenburg <kentw@bellcore.com>
  857. how to get: fto rl/* from flash.bellcore.com
  858. description: The RL files contain code for defining Relational Grammars and
  859.   using them in a bottom-up parser to recognize and/or parse
  860.   expressions in Relational Languages.  The approach is a
  861.   simplification of that described in Wittenburg, Weitzman, and
  862.   Talley (1991), Unification-Based Grammars and Tabular Parsing
  863.   for Graphical Languages, Journal of Visual Languages and
  864.   Computing 2:347-370.
  865.   This code is designed to support the definition and parsing of
  866.   Relational Languages, which are characterized as sets of
  867.   objects standing in user-defined relations.  Correctness and
  868.   completeness is independent of the order in which the input is
  869.   given to the parser.  Data to be parsed can be in many forms as
  870.   long as an interface is supported for queries and predicates
  871.   for the relations used in grammar productions. To date, this
  872.   software has been used to parse recursive pen-based input such
  873.   as math expressions and flowcharts; to check for data integrity
  874.   and design conformance in databases; to automatically generate
  875.   constraints in drag-and-drop style graphical interfaces; and to
  876.   generate graphical displays by parsing relational data and
  877.   generating output code.
  878. requires: Common Lisp
  879. ports:  Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
  880. updated: 1992/10/31
  881.  
  882. language: S/SL (Syntax Semantic Language)
  883. package: ssl
  884. version: ?
  885. parts:  parser bytecode compiler, runtime
  886. author:  Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language), 
  887.   Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
  888. how to get: ftp pub/ssl.tar.Z from neat.cs.toronto.edu
  889. description: A better characterization is that S/SL is a language 
  890.   explicitly designed for making efficient recusive-descent 
  891.   parsers.  Unlike most other languages, practicially the 
  892.   LEAST expensive thing you can do in S/SL is recur.  A
  893.   small language that defines input/output/error token
  894.   names (& values), semantic operations (which are really
  895.   escapes to a programming language but allow good
  896.   abstration in the pseudo-code), and a pseudo-code
  897.   program that defines a grammar by the token stream the
  898.   program accepts.  Alternation, control flow, and
  899.   1-symbol lookahead constructs are part of the
  900.   language.  What I call an S/SL "implementation", is a
  901.   program that compiles this S/SL pseudo-code into a
  902.   table (think byte-codes) that is interpreted by the
  903.   S/SL table-walker (interpreter).  I think the pseudo-code 
  904.   language is LR(1), and that the semantic mechanisms turn it
  905.   into LR(N) relatively easily.
  906.   + more powerful and cleaner than yac
  907.   - slower than yacc
  908. reference: + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
  909.   Syntax/Semantic Language, Computer Systems Research
  910.   Institute, University of Toronto.  
  911.   + "An Introduction to S/SL: Syntax/Semantic Language" by 
  912.   R.C. Holt, J.R.  Cordy, and D.B. Wortman, in ACM Transactions 
  913.   on Programming Languages and Systems (TOPLAS), Vol 4, No.
  914.   2, April 1982, Pages 149-178.
  915. updated: 1989/09/25
  916.  
  917. language: TXL
  918. package: TXL: Tree Transformation Language
  919. version: 7.4
  920. parts:  translator, documentation, tutorial, examples
  921. author:  Jim Cordy <cordy@qucis.queensu.ca>
  922. how to get: ftp pub/txl/* from ftp.qucis.queensu.ca 
  923. description: TXL is a language for performing source to source
  924.   transformations and is well suited for rapidly prototyping
  925.   new languages and language processors. It has also been used to
  926.   prototype specification languages, command languages, and more
  927.   traditional program transformation tasks such as constant
  928.   folding, type inference, source optimization and reverse
  929.   engineering.  TXL takes as input an arbitrary context-free
  930.   grammar in extended BNF-like notation, and a set of
  931.   show-by-example transformation rules to be applied to inputs
  932.   parsed using the grammar.  TXL is a functional/rule-based
  933.   hybrid programming language, using the paradigm of structural
  934.   transformation.
  935. reference: Several listed in software documentation
  936. updated: 1993/08/04
  937.  
  938. language: BNF (extended)
  939. package: SORCERER: A Simple Tree Parser Generator
  940. version: 1.00B
  941. parts:  translator, documentation, tutorial, examples
  942. author:  Terence Parr <parrt@s1.arc.umn.edu>
  943. how to get: ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu 
  944. description: SORCERER is more suitable for the class of translation problems
  945.   lying between those solved by code-generator generators and by
  946.   full source-to-source translator generators.  SORCERER
  947.   generates simple, flexible, top-down, tree parsers that, in
  948.   contrast to code-generators, may execute actions at any point
  949.   during a tree walk.  SORCERER accepts extended BNF notation,
  950.   allows predicates to direct the tree walk with semantic and
  951.   syntactic context information, and does not rely on any
  952.   particular intermediate form, parser generator, or other
  953.   pre-existing application.
  954. discussion: send mail with a body of "subscribe pccts-users your_name" to
  955.   pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
  956. help:  from mailing list
  957. support: actively supported, from mailing list
  958. reference: Several listed in software documentation
  959. updated: 1994/02/15
  960.  
  961. mathematical tools and languages
  962. -------------------------------------------------------------------------------
  963. category: mathematical tools and languages
  964. description: These are either special-purpose languages and tools, or
  965.   general purpose langauges and tools that have traditionally
  966.   been used for mathematical and scientific computing task.
  967. lref:  Fortran 
  968. lref:  PCN
  969. lref:  CLP
  970. lref:  Sisal
  971.  
  972. language: APL
  973. package: I-APL
  974. version: ?
  975. parts:  ?
  976. author:  ?
  977. how to get: ftp languages/apl/* from watserv1.waterloo.edu
  978. description: ?
  979. updated: 1992/07/06
  980.  
  981. language: APL
  982. package: APLWEB
  983. version: ?
  984. parts:  translator(web->apl), translator(web->TeX)
  985. author:  Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
  986. how to get: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
  987. description: [Should this be listed with the Web entries? -- Ed.]
  988. updated: 1992/12/07
  989.  
  990. language: APL
  991. iref:  (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
  992.  
  993. language: J
  994. package: J-mode
  995. version: ?
  996. parts:  emacs macros
  997. author:  ?
  998. how to get: ftp pub/j/gmacs/j-interaction-mode.el from think.com
  999. description: add on to J
  1000. updated: 1991/03/04
  1001.  
  1002. language: RLaB language (math manipulation - MATLAB-like)
  1003. package: RLaB
  1004. version: 0.95
  1005. parts:  interpreter, libraries, documentation
  1006. author:  Ian Searle <ians@eskimo.com>
  1007. how to get: ftp pub/RLaB/* from evans.ee.adfa.oz.au
  1008. description: RLaB is a "MATLAB-like" matrix-oriented programming
  1009.   language/toolbox.  RLaB focuses on creating a good experimental
  1010.   environment (or laboratory) in which to do matrix math
  1011.   Currently RLaB has numeric scalars and matrices (real and
  1012.   complex), and string scalars, and matrices. RLaB also contains
  1013.   a list variable type, which is a heterogeneous associative
  1014.   array.
  1015. bugs:  Ian Searle <ians@eskimo.com>
  1016. restriction: GNU General Public License
  1017. requires: GNUPLOT, lib[IF]77.a (from f2c)
  1018. ports:  many unix, OS/2, Amiga
  1019. updated: 1993/10/27
  1020.  
  1021. language: octave language (math manipulation - MATLAB-like)
  1022. package: octave
  1023. version: 1.0
  1024. parts:  interpreter, libraries, documentation
  1025. author:  John W. Eaton
  1026. how to get: ftp /pub/octave/* from ftp.che.utexas.edu
  1027.   also, any GNU archive site (see archive listing below)
  1028. description: Octave is a high-level language, primarily intended for
  1029.   numerical computations.  It provides a convenient command line
  1030.   interface for solving linear and nonlinear problems
  1031.   numerically.
  1032.   Octave can do arithmetic for real and complex scalars and
  1033.   matrices, solve sets of nonlinear algebraic equations,
  1034.   integrate functions over finite and infinite intervals, and
  1035.   integrate systems of ordinary differential and
  1036.   differential-algebraic equations.
  1037. bugs:  bug-octave@che.utexas.edu
  1038. restriction: GNU General Public License
  1039. requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
  1040. ports:  several
  1041. updated: 1994/2/23
  1042.  
  1043. language: FUDGIT language (math manipulation)
  1044. package: FUDGIT
  1045. version: 2.27
  1046. parts:  interpreter
  1047. author:  Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
  1048. how to get: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
  1049. description: FUDGIT is a double-precision multi-purpose fitting program.  It
  1050.   can manipulate complete columns of numbers in the form of
  1051.   vector arithmetic. FUDGIT is also an expression language
  1052.   interpreter understanding most of C grammar except pointers.
  1053.   Morever, FUDGIT is a front end for any plotting program
  1054.   supporting commands from stdin. It is a nice mathematical
  1055.   complement to GNUPLOT, for example.
  1056. requires: GNUPLOT
  1057. ports:  AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
  1058. updated: 1993/02/22
  1059.  
  1060. language: Unix BC (arbitrary-precision arithmetic language)
  1061. package: C-BC
  1062. version: 1.1
  1063. parts:  bytecode compiler, interpreter, documentation, examples
  1064. author:  Mark Hopkins <mark@freenet.uwm.edu>
  1065. how to get: alt.sources (10/04/93).
  1066. description: A strongly typed version of BC with expanded C-like syntax,
  1067.   more base types, with ability to form array and pointer types
  1068.   of any dimension and to allocate/free arrays at run-time.
  1069. conformance: Most POSIX-BC features supported, except functions must be
  1070.   declared consistently and declared before first use.  String
  1071.   handling slightly different.
  1072. reference: C-BC implementation notes contained with software documentation
  1073. requires: ANSI-C compiler
  1074. ports:  DOS, Unix
  1075. portability: No system dependent features present.
  1076. updated: 1993/08/23
  1077.  
  1078. language: Unix BC (arbitrary-precision arithmetic language)
  1079. package: GNU BC
  1080. version: 1.02
  1081. parts:  parser (yacc), interpreter, BC math library
  1082. author:  Philip A. Nelson <phil@cs.wwu.edu>
  1083. how to get: ftp bc-1.02.tar.Z from a GNU archive site
  1084. description: BC is an arbitrary precision numeric processing language with a
  1085.   C-like syntax that traditionally provided a front-end to DC.
  1086.   This version, however, is self-contained and internally
  1087.   executes its own compiled code (unrelated to DC code).
  1088. restriction: Source code falls under the GNU CopyLeft.
  1089. requires: vsprintf and vfprintf routines
  1090. ports:  Unix (BSD, System V, MINIX, POSIX)
  1091. conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
  1092. updated: ?
  1093.  
  1094. language: Calc?  (symbolic math calculator)
  1095. package: Calc
  1096. version: 2.02
  1097. parts:  interpreter, emacs mode, documentation
  1098. author:  Dave Gillespie <daveg@cs.caltech.edu>
  1099. how to get: ftp calc-2.02.tar.z from a GNU archive site
  1100. description: Calc is an extensible, advanced desk calculator and
  1101.   mathematical tool written in Emacs Lisp that runs as part of
  1102.   GNU Emacs.  It is accompanied by the "Calc Manual", which
  1103.   serves as both a tutorial and a reference.  If you wish, you
  1104.   can use Calc as only a simple four-function calculator, but it
  1105.   also provides additional features including choice of algebraic
  1106.   or RPN (stack-based) entry, logarithms, trigonometric and
  1107.   financial functions, arbitrary precision, complex numbers,
  1108.   vectors, matrices, dates, times, infinities, sets, algebraic
  1109.   simplification, differentiation, and integration.
  1110. bugs:  ?
  1111. updated: ?
  1112.  
  1113. language: C-like caluculator
  1114. package: Arbitrary precision calculator
  1115. version: 1.26.4
  1116. parts:  interpreter
  1117. author:  David I. Bell <dbell@canb.auug.org.au>
  1118. how to get: ftp pub/calc from ftp.uu.net
  1119. description: Arbitrary precision C-like calculator [similar to BC? --ed]
  1120. ports:  Linux
  1121. updated: 1993/06/15
  1122.  
  1123. language: Unix DC (arbitrary-precision arithmetic language)
  1124. package: GNU DC
  1125. version: 0.2
  1126. parts:  interpreter
  1127. author:  ?
  1128. how to get: ftp dc-0.2.tar.Z from a GNU archive site
  1129. description: DC is the language for an arbitrary precision postfix
  1130.   calculator.  This version is a subset of DC that handles all
  1131.   the Unix DC operations, except the (undocumented) array
  1132.   operations.
  1133. status:  Attempting integration with GNU BC.
  1134. updated: 1993/05/21
  1135.  
  1136. language: Fortran
  1137. package: f2c
  1138. version: 1993.04.28
  1139. parts:  translator (to C), postscript documentation, man pages, 
  1140.   support libraries.
  1141. author:  S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
  1142. how to get: ftp from netlib@research.att.com:netlib/f2c/src/*
  1143. description: translator (Fortran 77 to ANSI C or C++)
  1144. bugs:  D. M. Gay <dmg@research.att.com>
  1145. updated: 1993 April 27
  1146.  
  1147. language: Fortran
  1148. package: Floppy
  1149. version: ?
  1150. parts:  ?
  1151. author:  ?
  1152. how to get: ffccc in comp.sources.misc archive volume 12
  1153. description: ?
  1154. contact: ?
  1155. updated: 1992/08/04
  1156.  
  1157. language: Fortran
  1158. package: Flow
  1159. version: ?
  1160. parts:  ?
  1161. author:  Julian James Bunn <julian@vxcrna.cxern.ch>
  1162. how to get: comp.sources.misc archive volume 31
  1163. description: The Flow program is a companion to Floppy, it allows the user 
  1164.   to produce various reports on the structure of Fortran 
  1165.   77 code, such as flow diagrams and common block tables.
  1166. requires: Floppy
  1167. ports:  VMS, Unix, CMS
  1168. updated: ?
  1169.  
  1170. language: Fortran
  1171. package: Adaptor (Automatic DAta Parallelism TranslatOR)
  1172. version: 1.0
  1173. parts:  preprocessor, library, documentation
  1174. author:  ?
  1175. how to get: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
  1176. description: Adaptor is a tool that transforms data parallel
  1177.   programs written in Fortran with array extensions,
  1178.   parallel loops, and  layout directives to parallel
  1179.   programs with explicit message passing.
  1180.   ADAPTOR is not a compiler but a source to source
  1181.   transformation that generates Fortran 77 host and
  1182.   node programs with message passing.  The new
  1183.   generated source codes have to be compiled by the
  1184.   compiler of the parallel machine. 
  1185. ports:  CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
  1186.   network of Suns, or RS/6000s
  1187. contact: Thomas Brandes <brandes@gmdzi.gmd.de>
  1188. updated: 1993/06
  1189.  
  1190. language: Fortran, C
  1191. package: cfortran.h
  1192. version: 2.6
  1193. parts:  macros, documentation, examples
  1194. author:  Burkhard Burow
  1195. how to get: ftp cfortran/* from zebra.desy.de
  1196. description: cfortran.h is an easy-to-use powerful bridge between
  1197.   C and FORTRAN. It provides a completely transparent, machine
  1198.   independent interface between C and FORTRAN routines and
  1199.   global data.
  1200.   cfortran.h provides macros which allow the C preprocessor to
  1201.   translate a simple description of a C (Fortran) routine or
  1202.   global data into a Fortran (C) interface.
  1203. reference: reviewed in RS/Magazine November 1992 and
  1204.   a user's experiences with cfortran.h are to be described
  1205.   in the 1/93 issue of Computers in Physics.
  1206. ports:  VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
  1207.   Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
  1208. portability: high
  1209. contact: burow@vxdesy.cern.ch
  1210. updated: 1992/04/12
  1211.  
  1212. language: Fortran
  1213. package: fsplit
  1214. version: ?
  1215. parts:  ?
  1216. author:  ?
  1217. how to get: ?
  1218. description: a tool to split up monolithic fortran programs
  1219. updated: ?
  1220.  
  1221. language: Fortran
  1222. package: ?
  1223. version: ?
  1224. parts:  ?
  1225. author:  Steve Mccrea <mccrea@gdwest.gd.com>
  1226. how to get: ?
  1227. description: a tool to split up monolithic fortran programs
  1228. requires: new awk
  1229. updated: ?
  1230.  
  1231. language: Fortran
  1232. package: Fortran77 -> Fortran90 converter
  1233. version: ? 1
  1234. parts:  translator(Fortran 77 -> Fortran 90), documentation?
  1235. author:  metcalf@cernvm.cern.ch <Michael Metcalf>
  1236. how to get: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
  1237. description: A Fortran77 to Fortran90 translator.  There's a number of
  1238.   significant differences between the two Fortrans that makes
  1239.   a package like this useful.
  1240. updated: 1993/07/17
  1241.  
  1242. language: J
  1243. package: J from ISI
  1244. version: 6
  1245. parts:  interpreter, tutorial
  1246. author:  Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
  1247. how to get: ftp languages/apl/j/* from watserv1.waterloo.edu
  1248. description: J was designed and developed by Ken Iverson and Roger Hui.  It
  1249.   is similar to the language APL, departing from APL in using
  1250.   using the ASCII alphabet exclusively, but employing a spelling
  1251.   scheme that retains the advantages of the special alphabet
  1252.   required by APL. It has added features and control structures
  1253.   that extend its power beyond standard APL.  Although it can be
  1254.   used as a conventional procedural programming language, it can
  1255.   also be used as a pure functional programming language.
  1256. ports:  Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
  1257.   IBM-PC, Atari, 3b1, Amiga
  1258. updated: 1992/10/31
  1259.  
  1260. language: Ratfor
  1261. package: ? ratfor ?
  1262. version: ?
  1263. parts:  translator(Ratfor->Fortran IV)
  1264. author:  Brian Kernighan and P.J. Plauger (wrote the book anyway)
  1265. how to get: comp.sources.unix archives volume 13
  1266. description: Ratfor is a front end language for Fortran.  It was designed
  1267.   to give structured control structures to Fortran.  It is
  1268.   mainly of historical significance.
  1269. updated: ?
  1270.  
  1271. language: Y (cross between C and Ratfor)
  1272. package: y+po
  1273. version: ?
  1274. parts:  compiler
  1275. author:  Jack W. Davidson and Christopher W. Fraser
  1276. how to get: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
  1277. description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
  1278.   idea and other optimization ideas came from] along with the Y
  1279.   compiler [cross between C+ratfor] is ftpable from
  1280.   ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the
  1281.   original distribution from the University of Arizona during the
  1282.   early 80's, totally unsupported, almost forgotten [do not bug
  1283.   the authors] old code, possibly of interest to
  1284.   compiler/language hackers.
  1285. reference: Jack W. Davidson and Christopher W. Fraser, "The Design and
  1286.   Application of a Retargetable Peephole Optimizer", TOPLAS, Apr.
  1287.   1980.
  1288.   Jack W. Davidson, "Simplifying Code Through Peephole
  1289.   Optimization" Technical Report TR81-19, The University of
  1290.   Arizona, Tucson, AZ, 1981.
  1291.   Jack W. Davidson and Christopher W. Fraser, "Register
  1292.   Allocation and Exhaustive Peephole Optimization"
  1293.   Software-Practice and Experience, Sep. 1984.
  1294. status:  history
  1295. updated: ?
  1296.  
  1297. electrical engineering languages
  1298. -------------------------------------------------------------------------------
  1299. category: electrical engineering languages
  1300. description: These are languages used for simulating, designing, and
  1301.   specifying circuits.
  1302.  
  1303. language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
  1304. package: Ptolemy
  1305. version: 0.4.1
  1306. parts:  grahpical algorithm layout, code generator, simulator
  1307. author:  ?
  1308. how to get: ftp pub/ptolemy/* from ptolemy.bekeley.edu
  1309. description: Ptolemy provides a highly flexible foundation for the
  1310.   specification, simulation, and rapid prototyping of systems.
  1311.   It is an object oriented framework within which diverse models
  1312.   of computation can co-exist and interact.  For example, using
  1313.   Ptolemy a data-flow system can be easily connected to a
  1314.   hardware simulator which in turn may be connected to a
  1315.   discrete-event system, etc.  Because of this, Ptolemy can be
  1316.   used to model entire systems.
  1317.   In addition, Ptolemy now has code generation capabilities.
  1318.   from a flow graph description, Ptolemy can generate both C code
  1319.   and DSP assembly code for rapid prototyping.  Note that code
  1320.   generation is not yet complete, and is included in the current
  1321.   release for demonstration purposes only.
  1322. requires: C++, C
  1323. ports:  Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
  1324. status:  active research project
  1325. discussion: ptolemy-hackers-request@ohm.berkeley.edu
  1326. contact: ptolemy@ohm.berkeley.edu
  1327. updated: 1993/04/22
  1328.  
  1329. language: EDIF (Electronic Design Interchange Format)
  1330. package: Berkeley EDIF200 
  1331. version: 7.6
  1332. parts:  translator-building toolkit
  1333. author:  Wendell C. Baker and Prof A. Richard Newton of the Electronics 
  1334.   Research Laboratory, Department of Electrical Engineering and 
  1335.   Computer Sciences at the University of California, Berkeley, CA
  1336. how to get: ftp from pub/edif in ic.berkeley.edu
  1337. description: ?
  1338. restriction: no-profit w/o permission
  1339. ports:  ?
  1340. updated: 1990/07
  1341.  
  1342. language: Verilog, XNF
  1343. package: XNF to Verilog Translator
  1344. version: ?
  1345. parts:  translator(XNF->Verilog)
  1346. author:  M J Colley <martin@essex.ac.uk>
  1347. how to get: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
  1348. description: This program was written by a postgraduate student as part
  1349.   of his M.Sc course, it was designed to form part a larger
  1350.   system operating with the Cadence Edge 2.1 framework. This
  1351.   should be born in mind when considering the construction
  1352.   and/or operation of the program.
  1353. updated: ?
  1354.  
  1355. language: VHDL
  1356. package: ALLIANCE
  1357. version: 1.1
  1358. parts:  compiler, simulator, tools and environment, documentation
  1359. author:  ?
  1360. how to get: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
  1361. description: ALLIANCE 1.1 is a complete set of CAD tools for teaching
  1362.   Digital CMOS VLSI Design in Universities. It includes VHDL
  1363.   compiler and simulator, logic synthesis tools, automatic place
  1364.   and route, etc...  ALLIANCE is the result of a ten years effort
  1365.   at University Pierre et Marie Curie (PARIS VI, France).
  1366. ports:  Sun4, also not well supported: Mips/Ultrix, 386/SystemV
  1367. discussion: alliance-request@masi.ibp.fr
  1368. contact: cao-vlsi@masi.ibp.fr
  1369. updated: 1993/02/16
  1370.  
  1371. -- 
  1372. Send compilers articles to compilers@iecc.com or
  1373. {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
  1374.